leetcode刷题记录 |
您所在的位置:网站首页 › 算法问题 股票最大收益是多少啊 › leetcode刷题记录 |
图解七大排序算法,面试超高频考点,java实现
gurana: 上课写csdn是吧 KMP算法之求next数组(代码)reol44: 这个代码确实精简,琢磨半天只能说太强了,写了个拓开的,把省去的部分补上了,方便看一点,这里获得的next数组是基于下标1开始,且模式串也是从1开始的 [code=csharp] int *GetNext(char *str) { // 这里的next数组是从下标为1的位置开始记录的 int *next = (int *)malloc(sizeof(int) * (strlen(str)+1)); next[1] = 0; int i = 1, j = next[i]; while (i < strlen(str)) { if (j == 0) // 比到第一项了 { printf("比到第一项了\n"); next[++i] = 1; // 全都不相同,跟next[2] = 1一样,直接赋值称1 j = next[i]; // 为下次比较做准备 } else if (str[i] == str[j]) // 比较str[i] 和 str[next[i]] 如果传入的数组是从0开始的,下标要减一 { // 相等 说明前str[next[i]]项相等 next[i+1] = next[i] + 1; next[++i] = ++j; }// 不相等 j = next[next[i]] else j = next[j]; } // 返回结果 return next; } [/code] java学习之mybatis-plus
shyの同学:
666, 学到了 佛山靓仔: 这个案例 难道最大收益不是 7 吗 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |